package com.community.process._1010.service.impl;

import com.community.process._1010.dao.entity.ProcessUser;
import com.community.process._1010.dao.mapper.ProcessUserMapper;
import com.community.process._1010.service.ProcessUserService;
import com.oneadds.lowcode.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@Slf4j
@Service
public class ProcessUserServiceImpl extends BaseServiceImpl<ProcessUserMapper, ProcessUser> implements ProcessUserService {


//    @Value("${restTemplate.api}")
//    String authUrl;

//    @Override
//    public IPage<User> page(User systemUser, IPage<User> page) {
//        QueryWrapper<User> query = new QueryWrapper<>();
//
//
//        User u = baseMapper.selectById(StpUtil.getLoginId());
//
///*        if(StringUtils.hasText(u.getSite())){
//            query.eq("site",u.getSite());
//        }*/
//
//        query.eq("delete_flag",0);
//
//        query.like(StringUtils.hasText(systemUser.getPhone()),"phone",systemUser.getPhone());
//        query.like(StringUtils.hasText(systemUser.getName()),"name",systemUser.getName());
//
//
//        if(systemUser.getReferenceId()!=null){
//            query.eq("reference_id",systemUser.getReferenceId());
//        }else{
//            if(systemUser.getType() != null && systemUser.getType() == 0){
//                query.in("role_id",0,10);
//            }else{
//                query.eq(systemUser.getType()!=null,"type",systemUser.getType());
//                query.eq(systemUser.getRoleId()!=null,"role_id",systemUser.getRoleId());
//            }
//        }
//        IPage<User> ipage = baseMapper.selectPage(page,query);
//        for (User user : ipage.getRecords()) {
//            if(user.getReferenceId() != null){
//                user.setReferenceUser(baseMapper.selectById(user.getReferenceId()));
//            }
//        }
//        return ipage;
//    }
//
//    @Override
//    public IPage<User> promotionPage(User systemUser, IPage<User> page) {
//        QueryWrapper<User> query = new QueryWrapper<>();
//        query.like(StringUtils.hasText(systemUser.getPhone()),"phone",systemUser.getPhone());
//        query.like(StringUtils.hasText(systemUser.getName()),"name",systemUser.getName());
//        User u = baseMapper.selectById(StpUtil.getLoginId());
//
///*        if(StringUtils.hasText(u.getSite())){
//            query.eq("site",u.getSite());
//        }*/
//        query.eq("delete_flag",0);
//
//        if(systemUser.getReferenceId()!=null){
//            query.eq("reference_id",systemUser.getReferenceId());
//        }else{
//            query.gt("reference_count",0);
//        }
//        IPage<User> ipage = baseMapper.selectPage(page,query);
//        for (User user : ipage.getRecords()) {
//            if(user.getReferenceId() != null){
//                user.setReferenceUser(baseMapper.selectById(user.getReferenceId()));
//            }
//        }
//        return ipage;
//    }
//
//    @Override
//    public IPage<User> checkPage(User systemUser, IPage<User> page) {
//        QueryWrapper<User> query = new QueryWrapper<>();
//        query.like(StringUtils.hasText(systemUser.getPhone()),"phone",systemUser.getPhone());
//        query.like(StringUtils.hasText(systemUser.getName()),"name",systemUser.getName());
//        query.eq("delete_flag",0);
//        User u = baseMapper.selectById(StpUtil.getLoginId());
//
///*        if(StringUtils.hasText(u.getSite())){
//            query.eq("site",u.getSite());
//        }*/
//        query.eq("next_type_status",1);
//        IPage<User> ipage = baseMapper.selectPage(page,query);
//        for (User user : ipage.getRecords()) {
//            if(user.getReferenceId() != null){
//                user.setReferenceUser(baseMapper.selectById(user.getReferenceId()));
//            }
//        }
//        return ipage;
//    }
//
//    @Override
//    public void checkUser(Long userId,Integer status, String msg) {
//        if(userId == null){
//            throw  new RException("请选择请用的用户");
//        }
//        if(status == null){
//            throw  new RException("请选择审核状态");
//        }
//        User user = baseMapper.selectById(userId);
//        if(user.getType().equals(user.getNextType())){
//            throw  new RException("用户类型与之前一致，无需审核");
//        }
//        user.setNextTypeStatus(status);
//        user.setErrrorMsg(msg);
//        if(status == 0){
//            user.setRoleId(user.getNextType().longValue());
//            user.setType(user.getNextType());
//        }
//        baseMapper.updateById(user);
//    }
//
//
//    @Override
//    public User getByPhone(String phone) {
//        if(!StringUtils.hasText(phone)){
//            return null;
//        }
//        QueryWrapper<User> query = new QueryWrapper<>();
//        query.eq("phone",phone);
//        query.last("limit 1");
//        return baseMapper.selectOne(query);
//    }



}
